//数据库连接

const sqlite3 = require('sqlite3')
const NODE_ENV = process.env.NODE_ENV
const path = require('path')
const { app } = require('electron')
let DB_PATH = path.join(app.getAppPath(), '/config/text.db')

console.log('pathA:', app.getAppPath())
console.log('pathB:', DB_PATH)

// 判断是否是正式环境
if (app.isPackaged) {
  // 正式环境
  DB_PATH = path.join(
    path.dirname(app.getPath('exe')),
    'resources/app.asar.unpacked/config/text.db'
  )
}

//连接数据库
function connectDatabase() {
  return new sqlite3.Database(DB_PATH, (err) => {
    if (err) {
      console.error('error:' + err.message)
    }
    console.log('success: connect database')
  })
}
const db = connectDatabase()

//创建数据库,如果用户本地没有数据库的话就创建否则跳过
function createDataTable() {
  db.serialize(function () {
    /**创建用户表
     * 用户信息表
     * id主键
     * num学号
     * name姓名
     * pic头像
     * sex性别
     * integral积分
     * weight 权重
     * class 班级
     */
    db.run(
      `CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY AUTOINCREMENT,
      num text UNIQUE, name text,pic text,class text,sex text,integral INTEGER DEFAULT 0,weight INTEGER DEFAULT 0);`
    )
    //创建回答详情信息表
    /**
     * id 主键id
     * num 学号
     * count 次数
     * callTime 回答时间
     * answerResult 回答结果 1回答正确 2 基本回答正确 3 回答错误
     */
    db.run(
      `CREATE TABLE IF NOT EXISTS callDetails (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT,
        num text , class TEXT,callTime text,answerResult INTEGER, day TEXT, month TEXT, year TEXT)`
    )
    /**创建头像存储列表
     * id 主键id
     * pic 图片二进制
     * num 学号
     */
    db.run(
      `CREATE TABLE IF NOT EXISTS fileData (id INTEGER PRIMARY KEY AUTOINCREMENT,
       pic text,num INTEGER UNIQUE)`
    )
  })
  // db.close();
}
// exports.connectDatabase = connectDatabase;
// exports.createDataTable = createDataTable;
module.exports = {
  connectDatabase,
  createDataTable,
  db
}
// exports.db = db;
